INDEKSOWANIE

 

Proces porządkowania rekordów w pliku bazy danych jest czasochłonny, gdyż wymaga przepisania wszystkich informacji w ustalonej kolejności. Przy dużych plikach jest to nieopłacalne z uwagi na czas działania i miejsce na dysku. Często więc zastępuje się bezpośrednie porządkowanie pliku poprzez proces indeksowania. Indeksowanie opiera się na zasadzie tworzenia dodatkowych plików zawierających informacje o kolejności w jakiej powinny być podawane rekordy, aby spełniały kryterium uporządkowania. Pliki te zawierają wartości wybranego pola kluczowego, a dostęp do informacji odbywa się za ich pośrednictwem. Natomiast sam plik bazy pozostaje bez zmian. Rekordy w nim są w takiej kolejności w jakiej zostały wprowadzone i zapisane. Z każdym plikiem bazy może być powiązanych wiele plików indeksowych, a wszelkie zmiany w danych mogą być automatycznie uwzględnione w plikach indeksowych.

 

RELACJE

W relacyjnym modelu danych dwie tabele są ze sobą w relacji, jeżeli:

·       wiążą je wartości klucza podstawowego i klucza obcego lub

·       wiąże je specjalna tabela łącząca.

Sposób powiązania zależy od typu istniejącej między nimi relacji.

 

Relacje:

·       Stanowią sposób na łączenie tabel;

·       Pomagają w ulepszaniu struktur tabel i minimalizowaniu ilości nadmiarowych danych;

·       Umożliwiają jednoczesne odczytywanie informacji z wielu różnych tabel;

·       Wprowadzają do bazy integralność na poziomie relacji.

Relacje jeden-do-jednego

Dwie tabele łączy relacja jeden-do-jednego, jeśli pojedynczemu rekordowi w tabeli A odpowiada dokładnie jeden rekord w tabeli B, a pojedynczemu rekordowi w tabeli B odpowiada też jeden rekord w tabeli A.

 

 

 

 

 


Relacje jeden-do-wielu

Między dwoma tabelami istnieje relacja jeden-do-wielu, jeśli pojedynczemu rekordowi tabeli A odpowiada jeden lub więcej rekordów tabeli B, a pojedynczemu rekordowi tabeli B odpowiada dokładnie jeden rekord tabeli A.

 

 

 

 

 

 


Relacje wiele-do-wielu

Między dwoma tabelami istnieje relacja wiele-do-wielu, jeśli pojedynczemu rekordowi z tabeli A odpowiada jeden lub więcej rekordów w tabeli B i na odwrót – pojedynczemu rekordowi tabeli B odpowiada jeden lub więcej rekordów w tabeli A.

 

 

 

 

 


Problemy związane z relacjami wiele-do-wielu

·       Jedna z tabel będzie zawierać dużą ilość nadmiarowych danych;

·       W obu tabelach znajdzie się pewna ilość danych zwielokrotnionych;

·       Trudno będzie wprowadzać, modyfikować i usuwać dane z powiązanych tabel;

Definiowanie cech relacji

Reguły usuwania – określają co ma się zdarzyć, jeśli użytkownik zgłosi chęć usunięcia jednego z rekordów tabeli głównej w relacji jeden-do-jednego lub w tabeli leżącej po stronie jeden relacji jeden-do-wielu.

·       Reguła restrykcyjna – żądany rekord nie może być skasowany;

·       Reguła kaskadowa – żądany rekord zostanie skasowany wraz z powiązanymi z nim rekordami.

Typy uczestnictwa:

·       Obowiązkowe – w rozpatrywanej tabeli musi istnieć przynajmniej jeden rekord zanim zaczniemy wprowadzać dane do drugiej tabeli;

·       Opcjonalne – dana tabela może być pusta, gdy wprowadzamy rekordy do drugiej.

Stopień uczestnictwa:

Oznacza się za pomocą dwóch liczb, rozdzielonych przecinkiem i zamkniętych w nawiasach. Liczby te oznaczają dolną i górną granicę ilości rekordów w jednej z tabel, które mogą być powiązane z pojedynczym rekordem w drugiej.

Integralność na poziomie relacji

·       Zagwarantowana jest efektywność połączeń między każdymi dwiema tabelami uczestniczącymi w relacji (właściwie określone klucze podstawowe i obce, oraz tabela łącząca);

·       Właściwie określono typy uczestnictwa tabel w relacjach (można wprowadzać nowe rekordy do obu tabel);

·       Zastosowano odpowiednie reguły usuwania;

·       Określono właściwy stopień uczestnictwa tabel (ustalono logiczny limit liczby rekordów, które mogą brać udział w relacji z pojedynczym rekordem).